"""
@file
@ingroup {{cookiecutter.project_name}}
@copyright ESO - European Southern Observatory

@defgroup {{cookiecutter.project_name}}
@ingroup {{cookiecutter.project_name}}
@brief Project using RAD
"""

from wtools.project import declare_project


def configure(cnf):
    pkgs = "protobuf yaml-cpp log4cplus azmq backtrace"
    for pkg in pkgs.split():
        cnf.check_cfg(package=pkg, uselib_store=pkg, args="--cflags --libs")

    # Load radgen waf tool
    cnf.load("radgen_tool")

    cnf.check(compiler="cxx", lib="dl", mandatory=True, use="DL")
    cnf.env.CXXFLAGS_BOOST.append("-ldl")
    cnf.env.DEFINES_BOOST.append("BOOST_STACKTRACE_USE_BACKTRACE")
    for pkg in [
        "rad.cpp.core",
        "rad.cpp.services",
        "rad.cpp.events",
        "rad.cpp.sm",
        "rad.cpp.utils",
        "rad.scxml4cpp.engine",
        "rad.scxml4cpp.parser",
    ]:
        cnf.check_wdep(wdep_name=pkg, uselib_store=pkg)


declare_project(
    name="{{cookiecutter.project_name}}",
    version="0.1.0",
    requires="cxx boost protoc gtest",
    recurse="{{cookiecutter.modules_name}}",
    boost=dict(
        libs=[
            "program_options",
            "thread",
            "coroutine",
            "stacktrace_basic",
        ]
    ),
)
